package com.taoye.thread;

public class Demo14 {
	public static void main(String[] args) throws InterruptedException {
		Demo14Service t = new Demo14Service();
		Thread a = new Thread(()->{
			t.printString();
		});
		a.setName("A");
		a.start();
		
		Thread b = new Thread(()->{
			t.printString();
		});
		b.setName("B");
		b.start();
		//如果这里唤醒被暂停的线程则可以继续执行
		//Thread.sleep(1000);
		//a.resume(); 
	}
}

/**
 * 假装这是个业务类
 * @author Mr.Tao
 */
class Demo14Service{
	public synchronized void printString() {
		System.out.println(Thread.currentThread().getName()+"假装执行了某个业务1");
		if(Thread.currentThread().getName().equals("A")) {	
			System.out.println("如果是A线程来我就不让它执行业务，且让它暂停");
			Thread.currentThread().suspend();
			//需要注意的是println方法也有同步锁，所以下面的代码也不会执行
			System.out.println("如果是A线程来我就不让它执行业务，且让它暂停");
			System.out.println("如果是A线程来我就不让它执行业务，且让它暂停");
		}
		System.out.println(Thread.currentThread().getName()+"假装执行了某个业务2");
	}
}